# 【练习】快速排序
"""
def quickSort(arr):
    if len(arr) <= 1:
        return arr

    pivot = arr[len(arr) // 2]  # 选取数组中间元素作为基准值
    left = [x for x in arr if x < pivot]  # 小于基准值的部分放在左边列表
    middle = [x for x in arr if x == pivot]  # 等于基准值的部分放在中间列表
    right = [x for x in arr if x > pivot]  # 大于基准值的部分放在右边列表

    return quickSort(left) + middle + quickSort(right)  # 合并结果返回

"""


def quicksort(arr):
    # 基线条件
    if len(arr) <= 1:
        return arr
    pivot = arr[0]
    left = []
    right = []
    for i in range(1, len(arr)):
        if arr[i] <= pivot:
            left.append(arr[i])
        else:
            right.append(arr[i])
    return quicksort(left) + [pivot] + quicksort(right)
